package com.zlyx.easy.web.web.mybatis;

import java.lang.reflect.Field;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.zlyx.easy.core.annotations.Brancher;
import com.zlyx.easy.core.tool.FormatTool;
import com.zlyx.easy.database.marker.DaoMarker;

/**
 * @Auth 赵光
 * @Describle
 * @2019年1月14日 上午8:31:37
 */
@Brancher(value = "MybatisPlusDaoMarker", todo = "MybatisPlus定制版")
public class MybatisPlusDaoMarker implements DaoMarker {

	@Override
	public String parse(Field field) {
		TableField tableField = field.getAnnotation(TableField.class);
		TableId tableId = field.getAnnotation(TableId.class);
		if (tableField != null && !"".equals(tableField.value()) && tableField.value() != null) {
			return tableField.value();
		} else if (tableId != null && !"".equals(tableId.value()) && tableId.value() != null) {
			return tableId.value();
		} else if (isChange()) {
			return FormatTool.camel2Underline(field.getName());
		} else {
			return field.getName();
		}
	}
}
